package com.ruoyi.reportReview.service;

import com.ruoyi.reportReview.domain.IndustrialReportInfo;
import com.ruoyi.reportReview.domain.bo.IndustrialReportTotalInfoBo;
import com.ruoyi.reportReview.domain.bo.ReportReviewBo;
import com.ruoyi.reportReview.domain.vo.IndustrialReportInfoVo;
import com.ruoyi.reportReview.domain.bo.IndustrialReportInfoBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.reportReview.domain.vo.IndustrialReportTotalInfoVo;

import java.util.Collection;
import java.util.List;

/**
 * 填报主表Service接口
 *
 * @author yangzhen
 * @date 2025-11-23
 */
public interface IIndustrialReportInfoService {

    /**
     * 查询填报主表
     */
    IndustrialReportInfoVo queryById(String id);

    /**
     * 查询填报主表列表
     */
    TableDataInfo<IndustrialReportInfoVo> queryPageList(IndustrialReportInfoBo bo, PageQuery pageQuery);

    /**
     * 查询填报主表列表
     */
    List<IndustrialReportInfoVo> queryList(IndustrialReportInfoBo bo);

    /**
     * 新增填报主表
     */
    Boolean insertByBo(IndustrialReportInfoBo bo);

    /**
     * 修改填报主表
     */
    Boolean updateByBo(IndustrialReportInfoBo bo);

    /**
     * 校验并批量删除填报主表信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    Boolean insertReportTotalInfo(IndustrialReportTotalInfoBo industrialReportTotalInfoBo) throws IllegalAccessException;

    IndustrialReportTotalInfoVo getReportInfoById(String id);

    Boolean review(ReportReviewBo bo);
}
